package com.shuiyun.jtt.utils;

import cn.hutool.core.collection.CollectionUtil;
import com.shuiyun.jtt.message.jt808.extend.IntegerId;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 主键转换器
 */
public class IdUtil {

    /**
     * 根据普通id集合转换为IntegerId集合
     * @param ids 传入的普通的id集合
     * @return 转换好用于netty协议需要的id集合
     */
    public static List<IntegerId> getIntegerId(List<Integer> ids){
        if (CollectionUtil.isEmpty(ids)){
            return new ArrayList<>();
        }
        return ids.stream().map(id-> new IntegerId(id)).collect(Collectors.toList());
    }

    /**
     * 根据传入的IntegerId集合转换为普通的Id集合
     * @param ids 传入的IntegerId
     * @return 普通的id集合
     */
    public static List<Integer> getId(List<IntegerId> ids){
        if (CollectionUtil.isEmpty(ids)){
            return new ArrayList<>();
        }
        return ids.stream().map(p -> p.getId()).collect(Collectors.toList());
    }
}
